#ifndef B2D_IRENDERABLE_H
#define B2D_IRENDERABLE_H

#include "Prerequisites.h"

NS_B2D_BEGIN

class IGraphicsDevice;


////////////////////////////////////////////////////////////////////////////////////////////////////
/// \brief	Interface for objects that require rendering.
////////////////////////////////////////////////////////////////////////////////////////////////////
class B2D_API IRenderable
{
	B2D_INTERFACE(IRenderable)

public:
	////////////////////////////////////////////////////////////////////////////////////////////////////
	/// \brief	Renders the object.
	///
	/// \param [in]	g	The graphics device.
	////////////////////////////////////////////////////////////////////////////////////////////////////
	virtual void render(IGraphicsDevice& g) const = 0;
};

NS_B2D_END

#endif
